<?php
use lib\controller\Controller;
use lib\dao\query\Query;
use lib\dao\query\QueryAnd;
use lib\patterns\ServiceLocator;

class CompraController extends Controller{
	
	
	public function index(){
        try{
            $token = $this->getParam('token');
            $this->View->layout = 'frontend';
            if(empty($token))
                throw new \Exception("Id incorrecto");
            
            //Cargamos la compra
            $Q= new Query($this->Model);
            $Q->add( new QueryAnd('token_c',$token));

            if(!$this->Model->load($Q)){
                    throw new \Exception('Identificador no valido');
            }

            //Armamos la vista
            $evento = $this->Model->getEventoCompra($Q);
            $this->View->assign('token', $token);
            $this->View->assign('row', $this->Model->toArray());
            $this->View->assign('evento', $evento);

            //Enviamos Email al usuario
            
            ServiceLocator::getConfigMail();
            $mail = new \Zend_Mail('UTF-8');
            $mail->setBodyText('Su casilla no cuenta con formato HTML y no puede leer el mail');
            $mail->setBodyHtml("Estimado ".$this->Model->nombre.", <br> 
                                Su compra se realizo correctamente.<br>
                                Compro ".$this->Model->cantidad." entradas para el espectaculo ".$evento[0]['nombre']. ",<br>
                                que se realizara en ".$evento[0]['nombreLugar']."el dia ".$evento[0]['fecha']."<br><br>
                                Atte.<br>
                                Sistema de Venta");
    	    $mail->addTo($this->Model->email, $this->Model->nombre);
            $mail->addBcc('ventadeentradas2014@gmail.com');
    	    $mail->setSubject('Confirmación de compra de entradas');
    	    $mail->send();
            

        	$this->View->assign('msg', array('success',"Se realizo la compra correctamente, retira tu entrada con los siguientes datos"));
    	
    	}catch (\Exception $e){
    		$this->View->assign('msg', array('error',$e->getMessage()));
    	}	
    	$this->View->display();
	}
	

}